/**
 *  封装axios
 *  请求拦截器
 *  响应拦截器
 *
 *
 */
import axios from 'axios'
// 请求拦截器
axios.interceptors.request.use((cfg) => {
  // 设置请求的header头信息,比如添加token信息
  const jwt = localStorage.getItem('jwt')
  if (jwt) {
    cfg.headers.Authorization = jwt
    // cfg.headers['Authorization'] = jwt
  }
  // console.log('请求拦截器')
  return cfg
})
// 响应拦截器
axios.interceptors.response.use((res) => {
  // 处理res响应信息  检测如果token过期,就删除本地存储的token信息
  // console.log('响应拦截器')
  // 登录成功后存储jwt acl权限菜单列表
  if (res.data.context && res.data.context.jwt) {
    // 存储jwt
    localStorage.setItem('jwt', res.data.context.jwt)
  }
  if (res.data.context && res.data.context.acl) {
    // 存储acl 权限菜单列表 acl数据格式为对象 存储需要转为字符串存储
    localStorage.setItem('acl', JSON.stringify(res.data.context.acl))
  }
  return res
})
export default axios
